•  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
r3 vs r4
... ...
8 8
scp 사용법은 아래와 같다.
9 9
10 10
># scp 원격ID@원격서버IP:파일위치 받는위치
11
12 12
>Ex) scp root@172.16.48.201:"/home/test/{test1[20250109].txt,test2.sh,test[3].log,testfile,}" /home/test_user
13
14 14
위 예시 명령어 확인 시 파일을 한번에 받아오기 위해 중괄호를 추가했고 파일명 중 대괄호가 포함되어 있어 쌍따옴표를 넣어줬다.
15 15
16 16
... ...
20 20
diff 명령어를 사용해 중복된 라인을 출력 후 파일에 넣도록 스크립트 를 작성했다.
21 21
22 22
> diff "$FILE1" "$FILE2" | grep '^<' | sed 's/^< //' >> "$OUTPUT_FILE"
23
24 24
위 명령어 확인 시 스크립트 파일에서 특수기호 "^<" 사용을 위해 따옴표를 넣어줬다.
25 25
26 26
... ...
30 30
diff 명령어를 사용해 각각 다른 파일에 저장하도록 스크립트를 작성했다.
31 31
32 32
> diff "$FILE1" "$FILE2" | grep '^<' | sed 's/^< //' | awk -F '[,\t ]+' '{print $1}' >> "$NOT_EXIST_FILE"
33
34 34
위 명령어 확인 시 제 1과제 명령어와[*1 diff "$FILE1" "$FILE2" | grep '^<' | sed 's/^< //' >> "$OUTPUT_FILE"] 비슷하지만,
35 35
awk를 추가해 필요한 정보만 걸러서 저장하도록 했다.
36 36
... ...
41 41
cat 명령어를 사용해 파일 확인 해 strftime 함수를 이용해 시간을 변환하도록 했다.
42 42
43 43
> cat "$FILE1" | grep -v history | awk -F ',' '{print $1 "," strftime("%Y-%m-%d %H:%M:%S", $2)}' >> $EXIST_FILE
44
45 45
위 명령어 확인 시 strftime 함수를 이용해 쉼표 2번째의 있는 텍스트(날짜)를 보기편하게(yyyy-mm-dd hh-mm-ss) 변환한다.
46 46
47 47
> AS-IS --> 1721693207
... ...
53 53
54 54
if문을 통해 6Mbps인 경우 4~6Mbps인 경우 그 외 데이터를 각각 저장 할 수 있도록 작성했다.
55 55
56
>if (bitrate >= 6000000) {
57
>print out >> "HD.txt";
58
>hd_cnt++; hd_sum += bitrate;
59
>}
60
56
{{{ if (bitrate >= 6000000) {
57
print out >> "HD.txt";
58
hd_cnt++; hd_sum += bitrate;
59
} }}}
61 60
bitrate 값 마다 분리 해주는 구문이다.
62 61
63
>if (hd_cnt > 0) {
64
>res = sprintf("total : %d, bitrate avg : %.0f", hd_cnt, hd_sum / hd_cnt);
65
>print res >> "HD.txt";
66
>}
67
62
{{{if (hd_cnt > 0) {
63
res = sprintf("total : %d, bitrate avg : %.0f", hd_cnt, hd_sum / hd_cnt);
64
print res >> "HD.txt";
65
} }}}
68 66
파일 마지막 줄에 나눈 파일 마다의 총 파일의 개수와 평균 bitrate를 계산한 값을 출력하도록했다.
69 67
70 68
... ...
75 73
> current_gb = $4/1024/1024/1024;
76 74
리스트 파일에 있는 용량을 구해 GB로 변환 해준다.
77 75
78
> if (current_gb < limit) {
79
>printf "%s, %s, %s, %.2f GB, %s\n", $1, $2, $3, current_gb, $5
80
>}
76
{{{ if (current_gb < limit) {
77
printf "%s, %s, %s, %.2f GB, %s\n", $1, $2, $3, current_gb, $5
78
} }}}
81 79
if문을 통해 입력한 GB 값과 파일리스트의 GB변환값을 비교해 미만인 파일들을 출력해준다.
82 80
83 81
... ...
87 85
> split($5, ips, " ");
88 86
> ip_cnt = length(ips);
89 87
> copy_cnt = $6;
90
91 89
split 함수를 이용해 IP 리스트 개수를 출력,
92 90
복사된 개수는 이미 Count되어 있어 값을 가져 올 수 있다.
93 91
94
> if (ip_cnt != copy_cnt) {
95
> printf "불일치: %s (실제:%d, 기록:%d)\n", $1, ip_cnt, copy_cnt
96
>}
97
92
{{{ if (ip_cnt != copy_cnt) {
93
printf "불일치: %s (실제:%d, 기록:%d)\n", $1, ip_cnt, copy_cnt
94
} }}}
98 95
if문을 통해 불일치 값을 출력해 남겨준다.
99 96
100 97
... ...
118 115
mpg 파일을 다른 파일에서도 조회 하기 위해 mpg 목록들을 출력한다.
119 116
120 117
> start_ts=$(date -d "$LOG_DATE $start_input" +%s)
121
122 119
> Ex) inout = 10
123 120
> 변환 후 --> 10:30:00
124 121
... ...